home *** CD-ROM | disk | FTP | other *** search
- -------
- License
- -------
-
- Copyright (C) Geoff Oakham, 2004; <oakhamg@users.sourceforge.net>
-
- This driver is free software; you can redistribute it and/or modify it under
- the terms of the GNU General Public License as published by the Free Software
- Foundation; only version 2 of the License.
-
- This program is distributed in the hope that it will be useful, but WITHOUT ANY
- WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
- PARTICULAR PURPOSE. See the GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License in the file
- "COPYING"; if not, write to the Free Software Foundation, Inc., 59 Temple Place
- - Suite 330, Boston, MA 02111-1307, USA.
-
- -------------
- License-notes
- -------------
-
- If someone ports libifp to the FreeBSD kernel, I would serriously consider
- dual-licensing it.
-
- -------
- Summary
- -------
-
- libifp is a general-purpose library-driver for iRiver's iFP (flash-based)
- portable audio players.
-
- http://ifp-driver.sourceforge.net/libifp/
-
- ------------
- Requirements
- ------------
-
- This driver has been reported to work with models iFP1xx, 3xx, 5xx, 7xx, 8xx, 9xx and N10.
-
- userspace library:
-
- -libusb
- -gcc 2.95+ (and related dev tools)
- -POSIX run-time environment
-
- linux kernel module:
-
- -linux 2.6.x+
- -gcc 2.95+ (and related dev tools)
- -linux kernel sourcecode [enough to compile modules]
- -a filesystem that supports symlinks (for compilation)
-
- ------------------
- Build Instructions
- ------------------
-
- userspace library:
- 1. tar -xzf libifp-0.1.2.3.tar.gz
- 2. cd libifp-0.1.2.3
- 3. ./configure --prefix=/tmp/foo
- 4a make
- 4b make test (optional)
- 5. make install
-
- In your own project, add "-I/tmp/foo/include" to your compiler flags
- and "-L/tmp/foo/lib -lifp -lusb" to your linker flags. (Add another -L
- argument if the linker need help finding libusb.)
-
- linux kernel module:
- 1. tar -xzf libifp-0.1.2.3.tar.gz
- 2. cd libifp-0.1.2.3
- 3. ./configure --with-kmodule=path/to/kernel/source
- 4. make
- 5. make install
-
- -----
- Usage
- -----
-
- Read ifp.h(3) (packaged in docs/man), and the code in 'examples'.
-
- notes:
- * libifp is neither threadsafe nor thread-unsafe; it's up to the
- caller to provide sychronization.
-
- (Note: the normal [userland] shared library version of libifp uses
- libusb. If thread safety is important to you, make sure libusb
- itself is threadsafe.. because I haven't.)
-
- * libusb must be initialized by calling usb_init() before using
- libifp. (When using the userspace library.)
-
- ---------------
- Troubleshooting
- ---------------
-
- - examine the debug messages from stderr or the kernel log.
- - reset the device (or unplug it + turn it off) and try again.
-
- If you still can't get it working, please email me with your
- -debug messages
- -the filenames involved
- -kernel or libusb version
- -the libifp version
- -iFP model number
- -iFP firmware version
- -your favourite colour
-
- If possible, please also send me the status string returned by ifp_device_info()
- which looks something like this:
-
- model IFP-007T, firmware 1.14, battery =[####], delta 1.8.4.42
-
- (Note to application developers: it would be helpful if this string is available
- from the "about box" or another easy-to-access location.)
-
- -------
- Credits
- -------
-
- Special thanks to Boris and Jim who were the first brave souls to try
- the first version--a kernel filesystem module. Thanks to David who
- took the time to debug iFP8xx support and to the folks on
- #kernelnewbies who made helpful suggestions when I was stuck. Everyone
- has been encouraging and helpful with their feedback, and is much
- appreciated.
-
- Lastly, thanks to Jordan who bought me the mp3 player. You know how
- kids often enjoy playing with the box more than the toy inside? Well,
- writing the driver has been a neat experience.. and the packaging came
- with top-grade bubblewrap. :)
-
- ------------
- Bibliography
- ------------
-
- -Pavel Kriz and Jun Yamashiro, ifp-driver/ifp-line source code
- -ifp-driver mailing list, general discussion
- -Bovet & Cesati, "Understanding the Linux Kernel"
-
-